home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 18 / CU Amiga Magazine's Super CD-ROM 18 (1997)(EMAP Images)(GB)[!][issue 1998-01].iso / CUCD / Online / hsc / source / test / eval.hsc < prev    next >
Encoding:
Text File  |  1997-10-24  |  3.8 KB  |  122 lines

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  2. <HTML><HEAD><TITLE>check operators</TITLE></HEAD><BODY>
  3.  
  4. <**************************************
  5.  *                                    *
  6.  * test string operators              *
  7.  *                                    *
  8.  **************************************>
  9.  
  10.  
  11. <**************************************
  12.  * checkIn                            *
  13.  **************************************>
  14. <$macro checkIn little:string/r big:string/r>
  15. <$if cond=(little IN big)>IN<$else>-NOT IN</$if>
  16. </$macro>
  17.  
  18. <checkin little="sepp" big="hugo resi sepp">
  19. <checkin little="SepP" big="hugo resi sepp">
  20. <checkin little="hinz" big="hugo resi sepp">
  21.  
  22. <**************************************
  23.  * checkConcat                        *
  24.  **************************************>
  25. <$macro CheckConcat v1:string/r v2:string/r vu:string/r>
  26. <$define vc:string=(v1+v2)><$stripws type=prev>
  27. [<(v1)>] + [<(v2)>] = [<(vc)>] = [<(vu)>]
  28. <$if cond=(vu<>vc)><$stripws type=prev> ERROR!</$if>
  29. </$macro>
  30.  
  31. <CheckConcat v1="" v2="" vu="">
  32. <CheckConcat v1='' v2='' vu=''>
  33. <CheckConcat v1="hugo " v2="ist doof" vu="hugo ist doof">
  34. <CheckConcat v1=("hugo "+"ist ") v2="doof" vu="hugo ist doof">
  35.  
  36. <**************************************
  37.  *                                    *
  38.  * test boolean operators             *
  39.  *                                    *
  40.  **************************************>
  41.  
  42. <**************************************
  43.  * printBool:                         *
  44.  * insert boolean value as "0" or "1" *
  45.  **************************************>
  46. <$macro printBool v:bool><$if cond=(v)>1<$else>0</$if></$macro>
  47.  
  48. <**************************************
  49.  * check boolean function, 2 operands *
  50.  *                                    *
  51.  * inputs:                            *
  52.  *   v1, v2...boolean operands        *
  53.  *   vc.......result (computed)       *
  54.  *   vu.......result (user suggestion)*
  55.  **************************************>
  56. <$macro checkBool2 v1:bool v2:bool op:string vu:bool>
  57. <$define vc:bool>
  58. <("<$let vc=(v1 "+op+" v2)>")><$stripws type=prev>
  59. <printBool v=(v1)>*<printBool v=(v2)>=<printBool v=(vc)>=<printBool v=(vu)>
  60. <$if cond=(vc xor vu)><$stripws type=prev>  ERROR!</$if>
  61. </$macro>
  62.  
  63. CheckBool2: error handling
  64. <checkBool2 v1 v2 op=and>
  65.  
  66. <**************************************
  67.  * check AND,OR,XOR with 2 operands   *
  68.  **************************************>
  69. Check AND (2):
  70. <checkBool2       op=and   >
  71. <checkBool2    v2 op=and   >
  72. <checkBool2 v1    op=and   >
  73. <checkBool2 v1 v2 op=and vu>
  74.  
  75. Check OR (2):
  76. <checkBool2       op=or   >
  77. <checkBool2    v2 op=or vu>
  78. <checkBool2 v1    op=or vu>
  79. <checkBool2 v1 v2 op=or vu>
  80.  
  81. Check XOR (2):
  82. <checkBool2       op=xor   >
  83. <checkBool2    v2 op=xor vu>
  84. <checkBool2 v1    op=xor vu>
  85. <checkBool2 v1 v2 op=xor   >
  86.  
  87. <**************************************
  88.  *                                    *
  89.  * test numeric operators             *
  90.  *                                    *
  91.  **************************************>
  92.  
  93. <**************************************
  94.  * check numeric function, 2 operands *
  95.  *                                    *
  96.  * inputs:                            *
  97.  *   v1, v2...numeric operands        *
  98.  *   vc.......result (computed)       *
  99.  *   vu.......result (user suggestion)*
  100.  **************************************>
  101. <$macro checkNumeric2 v1:num/r v2:num/r op:string vu:num/r>
  102. <$define vc:num>
  103. <("<$let vc=(v1 "+op+" v2)>")><$stripws type=prev>
  104. <(v1)> <(op)> <(v2)> = <(vc)> = <(vu)>
  105. <$if cond=(vc<>vu)><$stripws type=prev>  ERROR!</$if>
  106. </$macro>
  107.  
  108. CheckNumeric2: error handling
  109. <checkNumeric2 v1=1 v2=2 op="+" vu=17>
  110.  
  111. <**************************************
  112.  * check AND,OR,XOR with 2 operands   *
  113.  **************************************>
  114. Check "+" (2):
  115. <checkNumeric2 v1="1"  v2="2"  op="+" vu="3">
  116. <checkNumeric2 v1="1"  v2="-2" op="+" vu="-1">
  117. <checkNumeric2 v1="-1" v2="2"  op="+" vu="1">
  118. <checkNumeric2 v1="-1" v2="-2" op="+" vu="-3">
  119.  
  120. </BODY></HTML>
  121.  
  122.